--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sbapp/ui/objectdetails.py e59e087475dc08aa2e535b37f2b3eac24a0c2e25 (e59e0874) Text, 20.04 KB
Tff7b72import T7ee787time
Tff7b72import T7ee787RNS
Tff7b72from T7ee787kivyT7ee787.T7ee787metrics Tff7b72import Te6edf3dpTb4b4b4,Te6edf3sp
Tff7b72from T7ee787kivyT7ee787.T7ee787langT7ee787.T7ee787builder Tff7b72import Te6edf3Builder
Tff7b72from T7ee787kivyT7ee787.T7ee787coreT7ee787.T7ee787clipboard Tff7b72import Te6edf3Clipboard
Tff7b72from T7ee787kivyT7ee787.T7ee787utils Tff7b72import Te6edf3escape_markup
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787recycleview Tff7b72import Te6edf3MDRecycleView
Tff7b72from T7ee787kivymdT7ee787.T7ee787uixT7ee787.T7ee787list Tff7b72import Te6edf3OneLineIconListItem
Tff7b72from T7ee787kivyT7ee787.T7ee787properties Tff7b72import Te6edf3StringPropertyTb4b4b4, Te6edf3BooleanProperty
Tff7b72from T7ee787kivyT7ee787.T7ee787effectsT7ee787.T7ee787scroll Tff7b72import Te6edf3ScrollEffect
Tff7b72from T7ee787kivyT7ee787.T7ee787clock Tff7b72import Te6edf3Clock
Tff7b72from T7ee787sidebandT7ee787.T7ee787sense Tff7b72import Te6edf3Telemeter
Tff7b72import T7ee787threading
Tff7b72import T7ee787webbrowser
Tff7b72from T7ee787datetime Tff7b72import Te6edf3datetime
Tff7b72if Te6edf3RNSTff7b72.Td2a8ffvendorTff7b72.Td2a8ffplatformutilsTff7b72.Td2a8ffget_platformTb4b4b4(Tb4b4b4) Tff7b72== Ta5d6ff"Ta5d6ffandroidTa5d6ff"Tb4b4b4:
Tff7b72from T7ee787uiT7ee787.T7ee787helpers Tff7b72import Te6edf3ts_format
Tff7b72elseTb4b4b4:
Tff7b72from T7ee787.T7ee787helpers Tff7b72import Te6edf3ts_format
Tff7b72class T56d364ObjectDetailsTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3appTb4b4b4, Te6edf3object_hash Tff7b72= Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffapp Tff7b72= Te6edf3app
Tff7b72selfTff7b72.Td2a8ffwidget Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ffobject_hash Tff7b72= Te6edf3object_hash
Tff7b72selfTff7b72.Td2a8ffcoords Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ffraw_telemetry Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8fffrom_telemetry Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8fffrom_conv Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffviewing_self Tff7b72= Tff7b72False
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffrootTff7b72.Td2a8ffidsTff7b72.Td2a8ffscreen_managerTff7b72.Td2a8ffhas_screenTb4b4b4(Ta5d6ff"Ta5d6ffobject_details_screenTa5d6ff"Tb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreen Tff7b72= Te6edf3BuilderTff7b72.Td2a8ffload_stringTb4b4b4(Te6edf3layou_object_detailsTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffapp Tff7b72= Tff7b72selfTff7b72.Td2a8ffapp
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Tff7b72selfTff7b72.Td2a8ffids Tff7b72= Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffids
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffrootTff7b72.Td2a8ffidsTff7b72.Td2a8ffscreen_managerTff7b72.Td2a8ffadd_widgetTb4b4b4(Tff7b72selfTff7b72.Td2a8ffscreenTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffobject_details_containerTff7b72.Td2a8ffeffect_cls Tff7b72= Te6edf3ScrollEffect
Tff7b72selfTff7b72.Td2a8fftelemetry_list Tff7b72= Te6edf3RVDetailsTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffapp Tff7b72= Tff7b72selfTff7b72.Td2a8ffapp
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffobject_details_containerTff7b72.Td2a8ffadd_widgetTb4b4b4(Tff7b72selfTff7b72.Td2a8fftelemetry_listTb4b4b4)
Tff7b72def Td2a8ffclose_actionTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fffrom_telemetryTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8fftelemetry_actionTb4b4b4(Te6edf3directionTff7b72=Ta5d6ff"Ta5d6ffrightTa5d6ff"Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fffrom_convTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffopen_conversationTb4b4b4(Tff7b72selfTff7b72.Td2a8ffobject_hashTb4b4b4, Te6edf3directionTff7b72=Ta5d6ff"Ta5d6ffrightTa5d6ff"Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffclose_sub_map_actionTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffset_sourceTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3source_destTb4b4b4, Te6edf3from_convTff7b72=Tff7b72FalseTb4b4b4, Te6edf3from_telemetryTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffobject_hash Tff7b72= Te6edf3source_dest
Tff7b72if Te6edf3from_telemetryTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffrom_telemetry Tff7b72= Tff7b72True
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffrom_telemetry Tff7b72= Tff7b72False
Tff7b72if Te6edf3from_convTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffrom_conv Tff7b72= Tff7b72True
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffrom_conv Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffcoords Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffdata Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3pds Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_display_nameTb4b4b4(Te6edf3source_destTb4b4b4)
Te6edf3appearance Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_appearanceTb4b4b4(Te6edf3source_destTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffname_labelTff7b72.Td2a8fftext Tff7b72= Te6edf3pds
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffcoordinates_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72True
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffobject_appearanceTff7b72.Td2a8fficon Tff7b72= Te6edf3appearanceTb4b4b4[T79c0ff0Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffobject_appearanceTff7b72.Td2a8fficon_color Tff7b72= Te6edf3appearanceTb4b4b4[T79c0ff1Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffobject_appearanceTff7b72.Td2a8ffmd_bg_color Tff7b72= Te6edf3appearanceTb4b4b4[T79c0ff2Tb4b4b4]
Te6edf3latest_telemetry Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_telemetryTb4b4b4(Te6edf3source_destTb4b4b4, Te6edf3limitTff7b72=T79c0ff1Tb4b4b4)
Tff7b72if Te6edf3latest_telemetry Tff7b72!= Tff7b72None Tff7b72and Tffa657lenTb4b4b4(Te6edf3latest_telemetryTb4b4b4) Tff7b72> T79c0ff0Tb4b4b4:
Te6edf3own_address Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8fflxmf_destinationTff7b72.Td2a8ffhash
Te6edf3telemeter Tff7b72= Te6edf3TelemeterTff7b72.Td2a8fffrom_packedTb4b4b4(Te6edf3latest_telemetryTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffraw_telemetry Tff7b72= Te6edf3telemeterTff7b72.Td2a8ffread_allTb4b4b4(Tb4b4b4)
Te6edf3relative_to Tff7b72= Tff7b72None
Tff7b72if Te6edf3source_dest Tff7b72!= Te6edf3own_addressTb4b4b4:
Te6edf3relative_to Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8fftelemeter
Tff7b72selfTff7b72.Td2a8ffviewing_self Tff7b72= Tff7b72False
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffviewing_self Tff7b72= Tff7b72True
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffname_labelTff7b72.Td2a8fftext Tff7b72= Te6edf3pdsTff7b72+Ta5d6ff"Ta5d6ff (this device)Ta5d6ff"
Te6edf3rendered_telemetry Tff7b72= Te6edf3telemeterTff7b72.Td2a8ffrenderTb4b4b4(Te6edf3relative_toTff7b72=Te6edf3relative_toTb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6fflocationTa5d6ff" Tff7b72in Te6edf3telemeterTff7b72.Td2a8ffsensorsTb4b4b4:
Tff7b72def Td2a8ffjobTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8ffcoordinates_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72False
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3jobTb4b4b4, T79c0ff0.01Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffupdate_sourceTb4b4b4(Te6edf3rendered_telemetryTb4b4b4)
Tff7b72def Td2a8ffjobTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8fftelemetry_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72False
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3jobTb4b4b4, T79c0ff0.01Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72def Td2a8ffjobTb4b4b4(Te6edf3dtTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffscreenTff7b72.Td2a8ffidsTff7b72.Td2a8fftelemetry_buttonTff7b72.Td2a8ffdisabled Tff7b72= Tff7b72True
Te6edf3ClockTff7b72.Td2a8ffschedule_onceTb4b4b4(Te6edf3jobTb4b4b4, T79c0ff0.01Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffupdate_sourceTb4b4b4(Tff7b72NoneTb4b4b4)
Tff7b72selfTff7b72.Td2a8fftelemetry_listTff7b72.Td2a8ffeffect_cls Tff7b72= Te6edf3ScrollEffect
Tff7b72def Td2a8ffreloadTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffclear_widgetTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdateTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffclear_widgetTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72pass
Tff7b72def Td2a8ffupdateTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3us Tff7b72= Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_widgetTb4b4b4(Tb4b4b4)
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6ff"Ta5d6ffUpdated object details in Ta5d6ff"Tff7b72+Te6edf3RNSTff7b72.Td2a8ffprettytimeTb4b4b4(Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)Tff7b72-Te6edf3usTb4b4b4)Tb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_DEBUGTb4b4b4)
Tff7b72def Td2a8ffupdate_widgetTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffwidget Tff7b72== Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffwidget Tff7b72= Te6edf3MDLabelTb4b4b4(Te6edf3textTff7b72=Te6edf3RNSTff7b72.Td2a8ffprettyhexrepTb4b4b4(Tff7b72selfTff7b72.Td2a8ffobject_hashTb4b4b4)Tb4b4b4)
Tff7b72def Td2a8ffget_widgetTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72selfTff7b72.Td2a8ffwidget
Tff7b72def Td2a8ffcopy_coordinatesTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Te6edf3ClipboardTff7b72.Td2a8ffcopyTb4b4b4(Tffa657strTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcoords Tff7b72or Ta5d6ff"Ta5d6ffNo dataTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72def Td2a8ffcopy_telemetryTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Te6edf3ClipboardTff7b72.Td2a8ffcopyTb4b4b4(Tffa657strTb4b4b4(Tff7b72selfTff7b72.Td2a8ffraw_telemetry Tff7b72or Ta5d6ff"Ta5d6ffNo dataTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72class T56d364ODViewTb4b4b4(Te6edf3OneLineIconListItemTb4b4b4)Tb4b4b4:
Te6edf3icon Tff7b72= Te6edf3StringPropertyTb4b4b4(Tb4b4b4)
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tb4b4b4)
Tff7b72class T56d364RVDetailsTb4b4b4(Te6edf3MDRecycleViewTb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdata Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72def Td2a8ffupdate_sourceTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3rendered_telemetryTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Te6edf3rendered_telemetryTb4b4b4:
Te6edf3rendered_telemetry Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3sort Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffPhysical LinkTa5d6ff"Tb4b4b4: T79c0ff10Tb4b4b4,
Ta5d6ff"Ta5d6ffLocationTa5d6ff"Tb4b4b4: T79c0ff20Tb4b4b4,
Ta5d6ff"Ta5d6ffAmbient LightTa5d6ff"Tb4b4b4: T79c0ff30Tb4b4b4,
Ta5d6ff"Ta5d6ffAmbient TemperatureTa5d6ff"Tb4b4b4: T79c0ff40Tb4b4b4,
Ta5d6ff"Ta5d6ffRelative HumidityTa5d6ff"Tb4b4b4: T79c0ff50Tb4b4b4,
Ta5d6ff"Ta5d6ffAmbient PressureTa5d6ff"Tb4b4b4: T79c0ff60Tb4b4b4,
Ta5d6ff"Ta5d6ffBatteryTa5d6ff"Tb4b4b4: T79c0ff70Tb4b4b4,
Ta5d6ff"Ta5d6ffTimestampTa5d6ff"Tb4b4b4: T79c0ff80Tb4b4b4,
Ta5d6ff"Ta5d6ffReceivedTa5d6ff"Tb4b4b4: T79c0ff90Tb4b4b4,
Ta5d6ff"Ta5d6ffInformationTa5d6ff"Tb4b4b4: T79c0ff100Tb4b4b4,
Tb4b4b4}
Tff7b72selfTff7b72.Td2a8ffentries Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3rendered_telemetryTff7b72.Td2a8ffsortTb4b4b4(Te6edf3keyTff7b72=Tff7b72lambda Te6edf3sTb4b4b4: Te6edf3sortTb4b4b4[Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4]Tb4b4b4] Tff7b72if Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4] Tff7b72in Te6edf3sort Tff7b72else T79c0ff1000Tb4b4b4)
Tff7b72for Te6edf3s Tff7b72in Te6edf3rendered_telemetryTb4b4b4:
Te6edf3extra_entries Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72def Td2a8ffpass_jobTb4b4b4(Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72pass
Te6edf3release_function Tff7b72= Te6edf3pass_job
Te6edf3formatted_values Tff7b72= Tff7b72None
Te6edf3name Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffTimestampTa5d6ff"Tb4b4b4:
Te6edf3ts Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffUTCTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3ts Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3ts_str Tff7b72= Te6edf3datetimeTff7b72.Td2a8fffromtimestampTb4b4b4(Te6edf3tsTb4b4b4)Tff7b72.Td2a8ffstrftimeTb4b4b4(Ta5d6ff"Ta5d6ff%Ta5d6ffY-Ta5d6ff%Ta5d6ffm-Tffd700%dTa5d6ff Ta5d6ff%Ta5d6ffH:Ta5d6ff%Ta5d6ffM:Ta5d6ff%Ta5d6ffSTa5d6ff"Tb4b4b4)
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffRecorded [b]Tffd700{Te6edf3RNSTff7b72.Td2a8ffprettytimeTb4b4b4(Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)Tff7b72-Te6edf3tsTb4b4b4, Te6edf3compactTff7b72=Tff7b72TrueTb4b4b4)Tffd700}Ta5d6ff ago[/b] (Tffd700{Te6edf3ts_strTffd700}Ta5d6ff)Ta5d6ff"
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffInformationTa5d6ff"Tb4b4b4:
Te6edf3info Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffcontentsTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3info Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3istr Tff7b72= Tffa657strTb4b4b4(Te6edf3infoTb4b4b4)
Te6edf3external_text Tff7b72= Te6edf3escape_markupTb4b4b4(Te6edf3istrTb4b4b4)
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff[b]Information[/b]: Tffd700{Te6edf3external_textTffd700}Ta5d6ff"
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffReceivedTa5d6ff"Tb4b4b4:
Te6edf3formatted_values Tff7b72= Ta5d6ff"Ta5d6ff"
Te6edf3by Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffbyTa5d6ff"Tb4b4b4]Tb4b4b4; Te6edf3by_str Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Te6edf3by Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Te6edf3by Tff7b72== Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8fflxmf_destinationTff7b72.Td2a8ffhashTb4b4b4:
Te6edf3by_str Tff7b72= Ta5d6ff"Ta5d6ffDirectly by [b]this device[/b]Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3dstr Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_display_nameTb4b4b4(Te6edf3byTb4b4b4)
Te6edf3by_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffBy [b]Tffd700{Te6edf3dstrTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3formatted_valuesTff7b72+Tff7b72=Te6edf3by_str
Te6edf3via Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffviaTa5d6ff"Tb4b4b4]Tb4b4b4; Te6edf3via_str Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Te6edf3via Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Te6edf3via Tff7b72== Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffobject_hashTb4b4b4:
Te6edf3via_str Tff7b72= Ta5d6ff"Ta5d6ffdirectly [b]from emitter[/b]Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3dstr Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffsidebandTff7b72.Td2a8ffpeer_display_nameTb4b4b4(Te6edf3byTb4b4b4)
Te6edf3via_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffvia [b]Tffd700{Te6edf3dstrTffd700}Ta5d6ff[/b]Ta5d6ff"
Tff7b72if Tffa657lenTb4b4b4(Te6edf3formatted_valuesTb4b4b4) Tff7b72!= T79c0ff0Tb4b4b4: Te6edf3formatted_values Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff, Ta5d6ff"
Te6edf3formatted_values Tff7b72+Tff7b72= Te6edf3via_str
Tff7b72if Te6edf3formatted_values Tff7b72!= Ta5d6ff"Ta5d6ff"Tb4b4b4:
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffCollected Tffd700{Te6edf3formatted_valuesTffd700}Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3formatted_values Tff7b72= Tff7b72None
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffBatteryTa5d6ff"Tb4b4b4:
Te6edf3p Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffpercentTa5d6ff"Tb4b4b4]
Te6edf3cs Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ff_metaTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3cs Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3cs_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff (Tffd700{Te6edf3csTffd700}Ta5d6ff)Ta5d6ff"
Tff7b72if Te6edf3p Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3nameTffd700}Ta5d6ff [b]Tffd700{Te6edf3pTffd700}Ta5d6ff%[/b]Ta5d6ff"Tff7b72+Te6edf3cs_str
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffAmbient PressureTa5d6ff"Tb4b4b4:
Te6edf3p Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffmbarTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3p Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3nameTffd700}Ta5d6ff [b]Tffd700{Te6edf3pTffd700}Ta5d6ff mbar[/b]Ta5d6ff"
Te6edf3dt Tff7b72= Ta5d6ff"Ta5d6ffmbarTa5d6ff"
Tff7b72if Ta5d6ff"Ta5d6ffdeltasTa5d6ff" Tff7b72in Te6edf3s Tff7b72and Te6edf3dt Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4] Tff7b72and Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3d Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4]
Te6edf3formatted_values Tff7b72+Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff (Δ = Tffd700{Te6edf3dTffd700}Ta5d6ff mbar)Ta5d6ff"
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffAmbient TemperatureTa5d6ff"Tb4b4b4:
Te6edf3c Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffcTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3c Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3nameTffd700}Ta5d6ff [b]Tffd700{Te6edf3cTffd700}Ta5d6ff° C[/b]Ta5d6ff"
Te6edf3dt Tff7b72= Ta5d6ff"Ta5d6ffcTa5d6ff"
Tff7b72if Ta5d6ff"Ta5d6ffdeltasTa5d6ff" Tff7b72in Te6edf3s Tff7b72and Te6edf3dt Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4] Tff7b72and Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3d Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4]
Te6edf3formatted_values Tff7b72+Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff (Δ = Tffd700{Te6edf3dTffd700}Ta5d6ff° C)Ta5d6ff"
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffRelative HumidityTa5d6ff"Tb4b4b4:
Te6edf3r Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffpercentTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3r Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3nameTffd700}Ta5d6ff [b]Tffd700{Te6edf3rTffd700}Ta5d6ff%[/b]Ta5d6ff"
Te6edf3dt Tff7b72= Ta5d6ff"Ta5d6ffpercentTa5d6ff"
Tff7b72if Ta5d6ff"Ta5d6ffdeltasTa5d6ff" Tff7b72in Te6edf3s Tff7b72and Te6edf3dt Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4] Tff7b72and Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3d Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4]
Te6edf3formatted_values Tff7b72+Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff (Δ = Tffd700{Te6edf3dTffd700}Ta5d6ff%)Ta5d6ff"
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffPhysical LinkTa5d6ff"Tb4b4b4:
Te6edf3rssi Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffrssiTa5d6ff"Tb4b4b4]Tb4b4b4; Te6edf3rssi_str Tff7b72= Tff7b72None
Te6edf3snr Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffsnrTa5d6ff"Tb4b4b4]Tb4b4b4; Te6edf3snr_str Tff7b72= Tff7b72None
Te6edf3q Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffqTa5d6ff"Tb4b4b4]Tb4b4b4; Te6edf3q_str Tff7b72= Tff7b72None
Tff7b72if Te6edf3q Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3q_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffLink Quality [b]Tffd700{Te6edf3qTffd700}Ta5d6ff%[/b]Ta5d6ff"
Tff7b72if Te6edf3rssi Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3rssi_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffRSSI [b]Tffd700{Te6edf3rssiTffd700}Ta5d6ff dBm[/b]Ta5d6ff"
Tff7b72if Te6edf3q Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3rssi_str Tff7b72= Ta5d6ff"Ta5d6ff, Ta5d6ff"Tff7b72+Te6edf3rssi_str
Tff7b72if Te6edf3snr Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3snr_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffSNR [b]Tffd700{Te6edf3snrTffd700}Ta5d6ff dB[/b]Ta5d6ff"
Tff7b72if Te6edf3q Tff7b72!= Tff7b72None Tff7b72or Te6edf3rssi Tff7b72!= Tff7b72NoneTb4b4b4: Te6edf3snr_str Tff7b72= Ta5d6ff"Ta5d6ff, Ta5d6ff"Tff7b72+Te6edf3snr_str
Tff7b72if Te6edf3q_str Tff7b72or Te6edf3rssi_str Tff7b72or Te6edf3snr_strTb4b4b4:
Te6edf3formatted_values Tff7b72= Te6edf3q_strTff7b72+Te6edf3rssi_strTff7b72+Te6edf3snr_str
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffLocationTa5d6ff"Tb4b4b4:
Te6edf3lat Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6fflatitudeTa5d6ff"Tb4b4b4]
Te6edf3lon Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6fflongtitudeTa5d6ff"Tb4b4b4]
Te6edf3alt Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffaltitudeTa5d6ff"Tb4b4b4]
Te6edf3speed Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffspeedTa5d6ff"Tb4b4b4]
Te6edf3heading Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffheadingTa5d6ff"Tb4b4b4]
Te6edf3accuracy Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffaccuracyTa5d6ff"Tb4b4b4]
Te6edf3updated Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffupdatedTa5d6ff"Tb4b4b4]
Te6edf3updated_str Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff, logged [b]Tffd700{Te6edf3RNSTff7b72.Td2a8ffprettytimeTb4b4b4(Te6edf3timeTff7b72.Td2a8fftimeTb4b4b4(Tb4b4b4)Tff7b72-Te6edf3updatedTb4b4b4, Te6edf3compactTff7b72=Tff7b72TrueTb4b4b4)Tffd700}Ta5d6ff ago[/b]Ta5d6ff"
Te6edf3coords Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3latTffd700}Ta5d6ff, Tffd700{Te6edf3lonTffd700}Ta5d6ff"
Te6edf3fcoords Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Tffa657roundTb4b4b4(Te6edf3latTb4b4b4,T79c0ff4Tb4b4b4)Tffd700}Ta5d6ff, Tffd700{Tffa657roundTb4b4b4(Te6edf3lonTb4b4b4,T79c0ff4Tb4b4b4)Tffd700}Ta5d6ff"
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffcoords Tff7b72= Te6edf3coords
Tff7b72if Te6edf3alt Tff7b72== T79c0ff0Tb4b4b4:
Te6edf3alt_str Tff7b72= Ta5d6ff"Ta5d6ff0Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3alt_str Tff7b72= Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3altTb4b4b4)
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffCoordinates [b]Tffd700{Te6edf3fcoordsTffd700}Ta5d6ff[/b], altitude [b]Tffd700{Te6edf3alt_strTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3speed_formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffSpeed [b]Tffd700{Te6edf3speedTffd700}Ta5d6ff Km/h[/b], heading [b]Tffd700{Te6edf3headingTffd700}Ta5d6ff°[/b]Ta5d6ff"
Te6edf3extra_formatted_values Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffUncertainty [b]Tffd700{Te6edf3accuracyTffd700}Ta5d6ff meters[/b]Ta5d6ff"Tff7b72+Te6edf3updated_str
Te6edf3data Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Tffd700{Te6edf3formatted_valuesTffd700}Ta5d6ff"Tb4b4b4}
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffmap-marker-questionTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3extra_formatted_valuesTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffdistanceTa5d6ff" Tff7b72in Te6edf3sTb4b4b4:
Tff7b72if Ta5d6ff"Ta5d6fforthodromicTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3od Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6fforthodromicTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3od Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3od_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffGeodesic distance [b]Tffd700{Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3odTb4b4b4)Tffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffearthTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3od_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffeuclidianTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3ed Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffeuclidianTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3ed Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3ed_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffEuclidian distance [b]Tffd700{Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3edTb4b4b4)Tffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffaxis-arrowTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3ed_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffverticalTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3vd Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdistanceTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffverticalTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3vd Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Te6edf3vd Tff7b72< T79c0ff0Tb4b4b4:
Te6edf3relstr Tff7b72= Ta5d6ff"Ta5d6fflowerTa5d6ff"
Te6edf3vd Tff7b72= Tffa657absTb4b4b4(Te6edf3vdTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3relstr Tff7b72= Ta5d6ff"Ta5d6ffgreaterTa5d6ff"
Te6edf3vd_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffAltitude is [b]Tffd700{Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3vdTb4b4b4)Tffd700}Ta5d6ff[/b] Tffd700{Te6edf3relstrTffd700}Ta5d6ff than this deviceTa5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffaltimeterTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3vd_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffangle_to_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3oath Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffangle_to_horizonTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3oath Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffviewing_selfTb4b4b4:
Te6edf3oath_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffLocal horizon is at [b]Tffd700{Tffa657roundTb4b4b4(Te6edf3oathTb4b4b4,T79c0ff3Tb4b4b4)Tffd700}Ta5d6ff°[/b]Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3oath_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffObjectTa5d6ff'Ta5d6ffs horizon is at [b]Tffd700{Tffa657roundTb4b4b4(Te6edf3oathTb4b4b4,T79c0ff3Tb4b4b4)Tffd700}Ta5d6ff°[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffarrow-split-horizontalTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3oath_textTb4b4b4}Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffviewing_self Tff7b72and Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3orh Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3orh Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3range_text Tff7b72= Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3orhTb4b4b4)
Te6edf3rh_formatted_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffRadio horizon of [b]Tffd700{Te6edf3range_textTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffradio-towerTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3rh_formatted_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffazaltTa5d6ff" Tff7b72in Te6edf3s Tff7b72and Ta5d6ff"Ta5d6fflocal_angle_to_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3lath Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6fflocal_angle_to_horizonTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3lath Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3lath_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffLocal horizon is at [b]Tffd700{Tffa657roundTb4b4b4(Te6edf3lathTb4b4b4,T79c0ff3Tb4b4b4)Tffd700}Ta5d6ff°[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffalign-vertical-distributeTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3lath_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffazaltTa5d6ff" Tff7b72in Te6edf3sTb4b4b4:
Te6edf3azalt_formatted_text Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Ta5d6ff"Ta5d6ffazimuthTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3az Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffazimuthTa5d6ff"Tb4b4b4]
Te6edf3az_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffAzimuth [b]Tffd700{Tffa657roundTb4b4b4(Te6edf3azTb4b4b4,T79c0ff3Tb4b4b4)Tffd700}Ta5d6ff°[/b]Ta5d6ff"
Te6edf3azalt_formatted_text Tff7b72+Tff7b72= Te6edf3az_text
Tff7b72if Ta5d6ff"Ta5d6ffaltitudeTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3al Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffaltitudeTa5d6ff"Tb4b4b4]
Te6edf3al_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffaltitude [b]Tffd700{Tffa657roundTb4b4b4(Te6edf3alTb4b4b4,T79c0ff3Tb4b4b4)Tffd700}Ta5d6ff°[/b]Ta5d6ff"
Tff7b72if Tffa657lenTb4b4b4(Te6edf3azalt_formatted_textTb4b4b4) Tff7b72!= T79c0ff0Tb4b4b4: Te6edf3azalt_formatted_text Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff, Ta5d6ff"
Te6edf3azalt_formatted_text Tff7b72+Tff7b72= Te6edf3al_text
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffcompass-roseTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3azalt_formatted_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffabove_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3astr Tff7b72= Ta5d6ff"Ta5d6ffaboveTa5d6ff" Tff7b72if Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffabove_horizonTa5d6ff"Tb4b4b4] Tff7b72== Tff7b72True Tff7b72else Ta5d6ff"Ta5d6ffbelowTa5d6ff"
Te6edf3dstr Tff7b72= Tffa657strTb4b4b4(Tffa657roundTb4b4b4(Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffazaltTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffaltitude_deltaTa5d6ff"Tb4b4b4]Tb4b4b4, T79c0ff3Tb4b4b4)Tb4b4b4)
Te6edf3ah_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffObject is [b]Tffd700{Te6edf3astrTffd700}Ta5d6ff[/b] the horizon (Δ = Tffd700{Te6edf3dstrTffd700}Ta5d6ff°)Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffangle-acuteTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3ah_textTb4b4b4}Tb4b4b4)
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffviewing_self Tff7b72and Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3orh Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff"Tb4b4b4]
Tff7b72if Te6edf3orh Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3range_text Tff7b72= Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3orhTb4b4b4)
Te6edf3rh_formatted_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffObjectTa5d6ff'Ta5d6ffs radio horizon is [b]Tffd700{Te6edf3range_textTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffradio-towerTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3rh_formatted_textTb4b4b4}Tb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff" Tff7b72in Te6edf3sTb4b4b4:
Te6edf3rh_icon Tff7b72= Ta5d6ff"Ta5d6ffcircle-outlineTa5d6ff"
Te6edf3crange_text Tff7b72= Te6edf3RNSTff7b72.Td2a8ffprettydistanceTb4b4b4(Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffcombined_rangeTa5d6ff"Tb4b4b4]Tb4b4b4)
Tff7b72if Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffradio_horizonTa5d6ff"Tb4b4b4]Tb4b4b4[Ta5d6ff"Ta5d6ffwithin_rangeTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3rh_formatted_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff[b]Within[/b] shared radio horizon of [b]Tffd700{Te6edf3crange_textTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3rh_icon Tff7b72= Ta5d6ff"Ta5d6ffset-noneTa5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3rh_formatted_text Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff[b]Outside[/b] shared radio horizon of [b]Tffd700{Te6edf3crange_textTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Te6edf3rh_iconTb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3rh_formatted_textTb4b4b4}Tb4b4b4)
Te6edf3extra_entriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffspeedometerTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Te6edf3speed_formatted_valuesTb4b4b4}Tb4b4b4)
Tff7b72def Td2a8ffselectTb4b4b4(Te6edf3eTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Te6edf3geo_uri Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ffgeo:Tffd700{Te6edf3latTffd700}Ta5d6ff,Tffd700{Te6edf3lonTffd700}Ta5d6ff"
Tff7b72def Td2a8ffljTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3webbrowserTff7b72.Td2a8ffopenTb4b4b4(Te6edf3geo_uriTb4b4b4)
Te6edf3threadingTff7b72.Td2a8ffThreadTb4b4b4(Te6edf3targetTff7b72=Te6edf3ljTb4b4b4, Te6edf3daemonTff7b72=Tff7b72TrueTb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tb4b4b4)
Te6edf3release_function Tff7b72= Te6edf3select
Tff7b72elseTb4b4b4:
Te6edf3formatted_values Tff7b72= Ta5d6fffTa5d6ff"Tffd700{Te6edf3nameTffd700}Ta5d6ff"
Tff7b72for Te6edf3vn Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4:
Te6edf3v Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffvaluesTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3vnTb4b4b4]
Te6edf3formatted_values Tff7b72+Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff [b]Tffd700{Te6edf3vTffd700}Ta5d6ff Tffd700{Te6edf3vnTffd700}Ta5d6ff[/b]Ta5d6ff"
Te6edf3dt Tff7b72= Te6edf3vn
Tff7b72if Ta5d6ff"Ta5d6ffdeltasTa5d6ff" Tff7b72in Te6edf3s Tff7b72and Te6edf3dt Tff7b72in Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4] Tff7b72and Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4] Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3d Tff7b72= Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6ffdeltasTa5d6ff"Tb4b4b4]Tb4b4b4[Te6edf3dtTb4b4b4]
Te6edf3formatted_values Tff7b72+Tff7b72= Ta5d6fffTa5d6ff"Ta5d6ff (Δ = Tffd700{Te6edf3dTffd700}Ta5d6ff Tffd700{Te6edf3vnTffd700}Ta5d6ff)Ta5d6ff"
Te6edf3data Tff7b72= Tff7b72None
Tff7b72if Te6edf3formatted_values Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Te6edf3release_functionTb4b4b4:
Te6edf3data Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Tffd700{Te6edf3formatted_valuesTffd700}Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffon_releaseTa5d6ff"Tb4b4b4: Te6edf3release_functionTb4b4b4}
Tff7b72elseTb4b4b4:
Te6edf3data Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Te6edf3sTb4b4b4[Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4]Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Tffd700{Te6edf3formatted_valuesTffd700}Ta5d6ff"Tb4b4b4}
Tff7b72if Te6edf3data Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffentriesTff7b72.Td2a8ffappendTb4b4b4(Te6edf3dataTb4b4b4)
Tff7b72for Te6edf3extra Tff7b72in Te6edf3extra_entriesTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffentriesTff7b72.Td2a8ffappendTb4b4b4(Te6edf3extraTb4b4b4)
Tff7b72if Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffentriesTb4b4b4) Tff7b72== T79c0ff0Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffentriesTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4{Ta5d6ff"Ta5d6fficonTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fftimeline-question-outlineTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftextTa5d6ff"Tb4b4b4: Ta5d6fffTa5d6ff"Ta5d6ffNo telemetry available for this deviceTa5d6ff"Tb4b4b4}Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdata Tff7b72= Tff7b72selfTff7b72.Td2a8ffentries
Te6edf3layou_object_details Tff7b72= Ta5d6ff"""
Ta5d6ff#:import MDLabel kivymd.uix.label.MDLabel
Ta5d6ff#:import OneLineIconListItem kivymd.uix.list.OneLineIconListItem
Ta5d6ff#:import Button kivy.uix.button.Button
Ta5d6ff<ODView>
Ta5d6ff IconLeftWidget:
Ta5d6ff icon: root.icon
Ta5d6ff<RVDetails>:
Ta5d6ff viewclass: Ta5d6ff"Ta5d6ffODViewTa5d6ff"
Ta5d6ff effect_cls: Ta5d6ff"Ta5d6ffScrollEffectTa5d6ff"
Ta5d6ff RecycleBoxLayout:
Ta5d6ff default_size: None, dp(50)
Ta5d6ff default_size_hint: 1, None
Ta5d6ff size_hint_y: None
Ta5d6ff height: self.minimum_height
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffverticalTa5d6ff"
Ta5d6ffMDScreen:
Ta5d6ff name: Ta5d6ff"Ta5d6ffobject_details_screenTa5d6ff"
Ta5d6ff
Ta5d6ff BoxLayout:
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffverticalTa5d6ff"
Ta5d6ff MDTopAppBar:
Ta5d6ff id: details_bar
Ta5d6ff title: Ta5d6ff"Ta5d6ffDetailsTa5d6ff"
Ta5d6ff anchor_title: Ta5d6ff"Ta5d6ffleftTa5d6ff"
Ta5d6ff elevation: 0
Ta5d6ff left_action_items:
Ta5d6ff [[Ta5d6ff'Ta5d6ffmenuTa5d6ff'Ta5d6ff, lambda x: root.app.nav_drawer.set_state(Ta5d6ff"Ta5d6ffopenTa5d6ff"Ta5d6ff)]]
Ta5d6ff right_action_items:
Ta5d6ff [
Ta5d6ff [Ta5d6ff'Ta5d6ffcloseTa5d6ff'Ta5d6ff, lambda x: root.delegate.close_action()],
Ta5d6ff ]
Ta5d6ff MDBoxLayout:
Ta5d6ff id: object_header
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffhorizontalTa5d6ff"
Ta5d6ff spacing: dp(24)
Ta5d6ff size_hint_y: None
Ta5d6ff height: self.minimum_height
Ta5d6ff padding: dp(24)
Ta5d6ff MDIconButton:
Ta5d6ff id: object_appearance
Ta5d6ff icon: Ta5d6ff"Ta5d6ffaccount-questionTa5d6ff"
Ta5d6ff icon_color: [0,0,0,1]
Ta5d6ff md_bg_color: [1,1,1,1]
Ta5d6ff theme_icon_color: Ta5d6ff"Ta5d6ffCustomTa5d6ff"
Ta5d6ff icon_size: dp(32)
Ta5d6ff MDLabel:
Ta5d6ff id: name_label
Ta5d6ff markup: True
Ta5d6ff text: Ta5d6ff"Ta5d6ffObject NameTa5d6ff"
Ta5d6ff font_style: Ta5d6ff"Ta5d6ffH6Ta5d6ff"
Ta5d6ff MDBoxLayout:
Ta5d6ff id: object_header
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffhorizontalTa5d6ff"
Ta5d6ff spacing: dp(24)
Ta5d6ff size_hint_y: None
Ta5d6ff height: self.minimum_height
Ta5d6ff padding: [dp(24), dp(0), dp(24), dp(12)]
Ta5d6ff MDRectangleFlatIconButton:
Ta5d6ff id: telemetry_button
Ta5d6ff icon: Ta5d6ff"Ta5d6ffcontent-copyTa5d6ff"
Ta5d6ff text: Ta5d6ff"Ta5d6ffCopy TelemetryTa5d6ff"
Ta5d6ff padding: [dp(0), dp(14), dp(0), dp(14)]
Ta5d6ff icon_size: dp(24)
Ta5d6ff font_size: dp(16)
Ta5d6ff size_hint: [1.0, None]
Ta5d6ff on_release: root.delegate.copy_telemetry(self)
Ta5d6ff disabled: False
Ta5d6ff MDRectangleFlatIconButton:
Ta5d6ff id: coordinates_button
Ta5d6ff icon: Ta5d6ff"Ta5d6ffmap-marker-outlineTa5d6ff"
Ta5d6ff text: Ta5d6ff"Ta5d6ffCopy CoordinatesTa5d6ff"
Ta5d6ff padding: [dp(0), dp(14), dp(0), dp(14)]
Ta5d6ff icon_size: dp(24)
Ta5d6ff font_size: dp(16)
Ta5d6ff size_hint: [1.0, None]
Ta5d6ff on_release: root.delegate.copy_coordinates(self)
Ta5d6ff disabled: False
Ta5d6ff
Ta5d6ff MDBoxLayout:
Ta5d6ff orientation: Ta5d6ff"Ta5d6ffverticalTa5d6ff"
Ta5d6ff id: object_details_container
Ta5d6ff
Ta5d6ff"""
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────